# 这种是通过最原始的方式实现的，没有使用到flask的Restful扩展库
# 这种是通过最原始的方式实现的，没有使用到flask的Restful扩展库
# 这种是通过最原始的方式实现的，没有使用到flask的Restful扩展库
# 这种是通过最原始的方式实现的，没有使用到flask的Restful扩展库
# 这种是通过最原始的方式实现的，没有使用到flask的Restful扩展库

from flask import Flask, request, abort, jsonify

app = Flask(__name__)

# 测试数据暂时存放
tasks = []


@app.route('/add_task', methods=['POST'])
def add_task():
    if not request.json or 'id' not in request.json or 'info' not in request.json:
        abort(400)
    task = {
        'id': request.json['id'],
        'info': request.json['info'],
    }
    tasks.append(task)
    return jsonify({'result': 'success'})


@app.route('/get_task', methods=['GET'])
def get_task():
    if not request.args or 'id' not in request.args:
        # 没有指定id 则返回全布任务
        return jsonify(tasks)
    else:
        task_id = request.args['id']
        task = filter(lambda t: t['id'] == int(task_id), tasks)
        return jsonify(task) if task else jsonify({'reslut': 'not found'})


@app.route('/clear_task', methods=['GET'])
def clear_task():
    tasks.clear()
    return jsonify({'result': 'tasks clear up'})


@app.route('/', methods=['GET', 'POST'])
def home():
    return '<h1>hello world</h1>'


if __name__ == '__main__':
    # 将host设置为0.0.0.0，则外网用户也可以访问到这个服务
    app.run(host="0.0.0.0", port=8001, debug=True)
